package com.qys.livesMall.app.user.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.qys.livesMall.app.user.model.dto.app.AppUserBankDTO;
import com.qys.livesMall.app.user.model.dto.sys.SysAppUserSaveDTO;
import com.qys.livesMall.app.user.model.entity.H2AppUserBank;
import com.qys.livesMall.app.user.model.dto.sys.QueryUserBankCardDTO;
import com.qys.livesMall.app.user.model.vo.sys.UserBankCardVO;

import java.util.List;

/**
 * <p>
 * 用户银行卡信息 服务类
 * </p>
 *
 * @author dp
 * @since 2023-04-27
 */
public interface IH2AppUserBankService extends IService<H2AppUserBank> {

    /**
     * 绑定用户银行卡信息
     *
     * @param userBankDTO
     */
    void bindingBankInfo(AppUserBankDTO userBankDTO);

    /**
     * 根据银行卡类型和用户名称查询银行卡信息
     *
     * @param type
     * @param userId
     * @param usdtType
     * @return
     */
    List<H2AppUserBank> queryBankByTypeAndUserId(Byte type, Long userId, String usdtType);

    /**
     * 后台新增用户添加银行卡信息
     *
     * @param sysAppUserSaveDTO
     * @param userId
     */
    void save(SysAppUserSaveDTO sysAppUserSaveDTO, String userId);

    void delete(String id);

    Page<UserBankCardVO> selectAll(QueryUserBankCardDTO dto);

    List<String> listByBankNo(List<String> userIds,String bankNo);

    List<H2AppUserBank> listByUserIds(List<String> userIds);
}
